home *** CD-ROM | disk | FTP | other *** search
/ Aminet 21 / Aminet 21 (1997)(GTI - Schatztruhe)[!][Oct 1997].iso / Aminet / comm / cnet / viewlog.lha / viewlog5 / VL_Config < prev    next >
Text File  |  1996-11-08  |  12KB  |  228 lines

  1. /**************************************************************************\
  2.              $VER: VL_Config, v5.02 (8-Nov-96) by Dotoran!
  3. \**************************************************************************/
  4. options results;signal on SYNTAX;signal on ERROR;signal on IOERR
  5. tr=transmit;se=sendstring;gc=getchar;gu=getuser;mg=maygetchar;ver="5.02"
  6. a='rexxsupport.library';if ~show('l',a) then if ~addlib(a,0,-30) then exit
  7.  
  8. call READCONFIG;call CHECKVER;call SETUP;call SCREEN
  9.  
  10. START:;pt=it.it
  11.   se "z2c06H"center(inf.it.1,68)"6H"center(inf.it.2,68)"z0"
  12.   se "z2c0"pt"z0c979H";gc;call CHECK;a=c2d(result);do 2;mg;b=result;end
  13.   if a=27 & b="NOCHAR" then do;call SAVECONFIG;exit;end
  14.   if a=13 then signal CONFIG
  15.   if d2c(a)=8 | b="A" then do;tr it.it;it=it-1;if it<1 then it=max
  16.     signal START;end
  17.   if d2c(a)=2 | b="B" then do;tr it.it;it=it+1;if it>max then it=1
  18.     signal START;end
  19.   if d2c(a)=6 | b="C" then do;tr it.it;if index(zz," "it" ")>0 then do
  20.     a=pos(right(it,2,"0")"-",zz.1)+3
  21.     it=strip(substr(zz.1,a,2),"l","0");end;end
  22.   if d2c(a)=4 | b="D" then do;tr it.it;if index(zz," "it" ")>0 then do
  23.     a=pos(right(it,2,"0")"-",zz.2)+3
  24.     it=strip(substr(zz.2,a,2),"l","0");end;end
  25.   signal START
  26.  
  27. CONFIG:;a="CONFIG"it;signal (a)
  28. CONFIG1:
  29.   se "2HL1305640 #"macc"}z4cfi4 15}z0";gu 70;a=result
  30.   se "2HcaVerifying...";a=PARSE(a,0,31);a=RANGE(itt.0)
  31.   macc=a;save=1;tr "2Hz4cf"left(macc,15)"z02H"copies(" ",12)
  32.  signal START
  33. CONFIG2:
  34.   save=1;trim=trim+1;if trim>2 then trim=1
  35.   tr "22Hz4cf"left(res.trim,50)
  36.  signal START
  37. CONFIG3:
  38.   se "22HL1305640 #"trln"}z4cfi68 5}z0";gu 70;a=result
  39.   if a~="" then do;trln=a;save=1;end;else tr "22Hz4cf"left(trln,5)"z0"
  40.  signal START
  41. CONFIG4:
  42.   save=1;if logH=0 then logH=1;else logH=0
  43.   tr "22Hz4cf"left(word("No Yes",logH+1),3)"z0"
  44.  signal START
  45. CONFIG5:
  46.   se "22HL1305640 #"hisP"}z4cfi4 50}z0";gu 70;a=result
  47.   se "22HcaChecking path...";if index("/:",right(a,1))=0 then a=a"/"
  48.   if ~exists(a) then do;se "22Hc9Path not found! <Key>g122H"copies(" ",22);signal CONFIG5;end
  49.   hisP=a;save=1;tr "22Hz4cf"left(hisP,50)"z022H"copies(" ",16)
  50.  signal START
  51. CONFIG6:
  52.   se "22HL1305640 #"hisT"}z4cfi68 5}z0";gu 70;a=result
  53.   if a~="" then do;hisT=a;save=1;end;else tr "22Hz4cf"left(hisT,5)"z0"
  54.  signal START
  55.  
  56. CONFIG7:
  57.   save=1;if ARus=0 then ARus=1;else ARus=0
  58.   tr "22Hz4cf"left(word("No Yes",ARus+1),3)"z0"
  59.  signal START
  60.  
  61. CONFIG8:
  62.   se "22HL1305640 #"ARpt"}z4cfi4 50}z0";gu 70;a=result
  63.   se "22HcaChecking..."
  64.   if a>"" & (~exists(a) | right(upper(a),8)~="ANSIREAD") then do
  65.     se "22Hc9AnsiRead file not found! <Key>g122H"copies(" ",30)
  66.     signal CONFIG8 ; end ; if a="" then a="<AnsiRead Disabled>"
  67.   ARpt=a;save=1;tr "22Hz4cf"left(ARpt,50)"z022H"copies(" ",11)
  68.  signal START
  69.  
  70. CONFIG9:
  71.   se "4HL1305640 #"uacc"}z4cfi4 15}z0";gu 70;a=result
  72.   se "4HcaVerifying...";a=PARSE(a,0,31);a=RANGE(a)
  73.   uacc=a;save=1;tr "4Hz4cf"left(uacc,15)"z04H"copies(" ",12)
  74.  signal START
  75. CONFIG10:
  76.   se "54HL1305640 #"ETex"}z4cfi4 5}z0";gu 70;a=result
  77.   ETex=a;save=1;tr "54Hz4cf"left(ETex,5)"z0"
  78.  signal START
  79.  
  80. CONFIG11:
  81.   save=1;if ARsy=0 then ARsy=1;else ARsy=0
  82.   tr "54Hz4cf"left(word("No Yes",ARsy+1),3)"z0"
  83.  signal START
  84.  
  85. SAVECONFIG:;if save=0 then return
  86.   call open(f1,comP"ViewLog5.cfg","w")
  87.     call writeln(f1,vers);call writeln(f1,macc)
  88.     call writeln(f1,uacc);call writeln(f1,trim);call writeln(f1,trln)
  89.     call writeln(f1,logH);call writeln(f1,hisP);call writeln(f1,hisT)
  90.     call writeln(f1,ETex)
  91.     call writeln(f1,ARus);call writeln(f1,ARsy);call writeln(f1,ARpt)
  92.   call close(f1)
  93.  return
  94.  
  95. READCONFIG:;gu 1311992;comP=result
  96.   call open(f1,comP"ViewLog5.cfg","r")
  97.     vers=readln(f1);macc=readln(f1)
  98.     uacc=readln(f1);trim=readln(f1);trln=readln(f1)
  99.     logH=readln(f1);hisP=readln(f1);hisT=readln(f1)
  100.     ETex=readln(f1)
  101.     ARus=readln(f1);ARsy=readln(f1);ARpt=readln(f1)
  102.   call close(f1)
  103.  return
  104.  
  105. CHECKVER: ; if ver=vers then return
  106.   tr "f1n6c9Version Conflict:n1"
  107.   tr "   `ViewLog5.cfg' version: v"vers
  108.   tr "   `VL_Config'    version: v"ver
  109.   tr "n1   BOTH files above need to be v"max(ver,vers)"!"
  110.   tr "n1Halting, due to conflicting versions..."
  111.  exit
  112.  
  113. SETUP: it=1;max=11;save=0;tr "f1"
  114.   zz=" 1 6 7 9 10 11 ";zz.1="01-09-01-06-10-06-07-11-07"
  115.   zz.2="09-01-09-10-06-10-11-07-11"
  116.   it.1="HMaint Access"
  117.   it.2="9HLog Restart"
  118.   it.3="9HTrim Length"
  119.   it.4="7HUse Histories"
  120.   it.5="8HHistory Path"
  121.   it.6="8HHistory Trim"
  122.   it.7="7HAnsiRead w/LF"
  123.   it.8="7HAnsiRead Path"
  124.   it.9="1HUser Access"
  125.   it.10="37HYour ET Command"
  126.   it.11="39HAnsiRead w/VL"
  127.  
  128.   res.1="Let Maint User(s) Trim Logs using SysOp ViewLog."
  129.   res.2="Automatically Trim Logs during AutoMaintenance."
  130.  
  131.   inf.1.1="The Access Group RANGE of all users who will have the ability to"
  132.   inf.1.2="delete, trim, and view ALL defined logs and histories."
  133.   inf.2.1="The DEFAULT method of restarting a log. You can opt to delete or"
  134.   inf.2.2="trim the logs & histories yourself, or let automaintenance do it."
  135.   inf.3.1="The DEFAULT number of lines to trim a log down to. As with the View"
  136.   inf.3.2="Accesses, EACH log has it's OWN trim value specified in VL_Maint."
  137.   inf.4.1="If you choose to use Log Histories, a second copy of the log will be"
  138.   inf.4.2="maintained from deleted logs, or trimmed portions of current logs."
  139.   inf.5.1="Enter the physical path where all Log History files should be saved"
  140.   inf.5.2="to. Make the path / or : terminated, and should NOT be SysData:Log/"
  141.   inf.6.1="The DEFAULT number of lines you wish each log history trimmed to."
  142.   inf.6.2="VL_Maint uses individual trim settings. Use 0 to disable trimming."
  143.   inf.7.1="Specifying YES here will allow the additional use of the AnsiRead"
  144.   inf.7.2="Program for the USERS when they choose to use the LF command."
  145.   inf.8.1="Enter the full path(and filename) where the AnsiRead file can be"
  146.   inf.8.2="located on your system. Empty the gadget to disable AnsiRead."
  147.   inf.9.1="The DEFAULT Access Group RANGE of all users who will be able to VIEW"
  148.   inf.9.2="log files. Using VL_Maint, EACH log can use it's own Access Range."
  149.   inf.10.1="Enter your ET command here, if it differs from the CNet default use"
  150.   inf.10.2="of ET. Users of Non-Ansi Terminals will be told to use this command."
  151.   inf.11.1="Specifying YES here will allow the additional use of the AnsiRead"
  152.   inf.11.2="Program for the SYSOP when he/she chooses to use the VL command."
  153.  return
  154.  
  155. SCREEN:
  156.   se "@4  ÛÜCÜÛ ÞÛÛÝ ÜÜÜÜÜÜÛ Û"
  157.   se "ÛCÞÝCÛÛ ÞÝCÜÛÜÜÜÛÜ ÜÛÜÜÜÜ"
  158.   tr "Ü   ÛÜÜÜÜÜÛ    ÜÛÜÜÜ Ü"
  159.   se "ÚÄÛÛÄÄÄÛÛÄÄÞÝÄÄÛ"
  160.   se "ÛÜÜÜÜÄÄÛÛÄÞÝÄÛÛÄ"
  161.   se "ÞÝÄÄÄÄÄÄÛÛÄÄÄÛÛÄÛÛ"
  162.   se "ÄÄÜÜÜÄÄÄÛÛÜÜÜÜÄÄÄÄÄÛÛ"
  163.   tr "ÄÄÜÛÛÄÄ¿"
  164.   se "³ÚÛßÜÄÜßÛÄÄÞÝÄÄÛ"
  165.   se "ÛßßßßÄÄÛÛÄÞÝÄÛÛÄ"
  166.   se "ÞÝÄÄÄÄÄÄÛÛÄÄÄÛÛÄÛÛ"
  167.   se "ÄÄÄÛÛÄÄÄÄßßßßÛÛÄÄÄÄÛÛ"
  168.   tr "ÜßÄÛÛÄ¿³"
  169.   se "³³ ßÛßÛß  ÞÛÛÝ ßßßßßßÛ ßÛ"
  170.   se "ßßßßÛß  ßßßßß  ßÛßßßÛß ßÛßßßßß   Û"
  171.   tr "ßßßßßß ÞÝ ß ßßß ß ³³"
  172.   tr "³"copies("°",77)"³"
  173.   tr "°°±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±°°"
  174.   tr "°±±²ÛßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßÛ²±±°"
  175.   tr "°±²ÛÝ  Maint Access:                    User Access:                 Û²±°"
  176.   tr "°±²ÛÝCÞÛ²±°"
  177.   tr "°±²ÛÝ   Log Restart:                                                      ÞÛ²±°"
  178.   tr "°±²ÛÝ   Trim Length:       Û²±°"
  179.   tr "°±²ÛÝCUse the Arrow Keys to MoveENTER to Edit,  ÞÛ²±°"
  180.   tr "°±²ÛÝ Use Histories:          <ESCto Save/Quit. Look below for Help...  ÞÛ²±°"
  181.   tr "°±²ÛÝ  History Path:                                                      ÞÛ²±°"
  182.   tr "°±²ÛÝ  History Trim:                Your ET Command:                      ÞÛ²±°"
  183.   tr "°±²ÛÝCÞÛ²±°"
  184.   tr "°±²ÛÝ AnsiRead w/LF:     CAnsiRead w/VL:     Û²±°"
  185.   tr "°±²ÛÝ AnsiRead Path:                                                      ÞÛ²±°"
  186.   tr "°±²ÛÛÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÛÛ²±°"
  187.   tr "°±²²ÛÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜܲ²±°"
  188.   tr "°±±²                                                                      Û²±±°"
  189.   tr "°°±±                                                                      ß±±°°"
  190.   tr " °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°"
  191.   se "2Hz4cf"left(macc,15)"z0"
  192.   se "4Hz4cf"left(uacc,15)"z0"
  193.   se "22Hz4cf"left(res.trim,50)"z0"
  194.   se "22Hz4cf"left(trln,5)"z0"
  195.   se "22Hz4cf"left(word("No Yes",logH+1),3)"z0"
  196.   se "22Hz4cf"left(hisP,50)"z0"
  197.   se "22Hz4cf"left(hisT,5)"z0"
  198.   se "54Hz4cf"left(ETex,5)"z0"
  199.   se "22Hz4cf"left(word("No Yes",ARus+1),3)"z0"
  200.   se "54Hz4cf"left(word("No Yes",ARsy+1),3)"z0"
  201.   se "22Hz4cf"left(ARpt,50)"z0"
  202.  return
  203.  
  204. PARSE:;arg rng,min,maxx;itt.='';c=0;itt=translate(rng,'  ','.,');do a=1 to words(itt);c=c+1;itt.c=word(itt,a)
  205.   if index(itt.c,'-')>0 then do;parse var itt.c x'-'y;if y='' then y=maxx;if x='' then x=min;if x>y then do;d=x;x=y;y=d;end
  206.   if x<min|y>maxx|~datatype(x,'W')|~datatype(y,'W') then do;c=c-1;iterate;end;do b=x to y;itt.c=b;c=c+1;end;c=c-1;end
  207.   else if itt.c<min|itt.c>maxx|~datatype(itt.c,'W') then do;c=c-1;iterate;end;end
  208.   a=0;do i=1 to c;j=i+1;if itt.i~=itt.j then do;a=a+1;itt.a=itt.i;end;end;c=a;do i=1 to c;itt.0=itt.0||itt.i' ';end
  209.  return itt.0
  210.  
  211. RANGE:;arg gr;a="";if words(gr)=1 then return strip(gr)
  212.   do i=1 to words(gr);j=i+1;v1=word(gr,i);v2=word(gr,j)
  213.     if v2-v1=1 then do;s=v1
  214.     do while v2-v1=1;i=i+1;j=j+1;v1=word(gr,i);v2=word(gr,j)
  215.       if v2="" then leave;end;a=a||s"-"v1",";iterate i;end;a=a||v1",";end i
  216.  return strip(a,'t',',')
  217.  
  218. CHECK:;if result~="###PANIC" then return result ; else call SAVECONFIG
  219.   a="Lost Carrier!";tr "1Hc9"a;logentry a;bufferflush;exit
  220.  
  221. SYNTAX:;ERROR:;IOERR:;e1=' Error: 'rc' ('errortext(rc)')'
  222.   e2='  Line: 'left(sigl,4)'File:';gu 1311992;a=result;gu 1311960
  223.   b=result;c='"'a||b'"';e2=e2' 'c;tr e1;tr e2;logentry e1;logentry e2
  224.   e=translate(sourceline(sigl),"\{","");do while e~=''
  225.   e3='Source: 'left(e,37);tr e3;logentry e3;e=substr(e,38);end;bufferflush
  226. /**************************************************************************\
  227. \****************************************** Frontiers BBS (716)/823-9892 **/
  228.